home *** CD-ROM | disk | FTP | other *** search
- /** @file
- * VBox Remote Desktop Protocol:
- * External Authentication Library Interface.
- */
-
- /*
- * Copyright (C) 2006-2007 innotek GmbH
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License as published by the Free Software Foundation,
- * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
- * distribution. VirtualBox OSE is distributed in the hope that it will
- * be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
- #ifndef ___VBox_vrdpauth_h
- #define ___VBox_vrdpauth_h
-
- /* The following 2 enums are 32 bits values.*/
- typedef enum _VRDPAuthResult
- {
- VRDPAuthAccessDenied = 0,
- VRDPAuthAccessGranted = 1,
- VRDPAuthDelegateToGuest = 2,
- VRDPAuthSizeHack = 0x7fffffff
- } VRDPAuthResult;
-
- typedef enum _VRDPAuthGuestJudgement
- {
- VRDPAuthGuestNotAsked = 0,
- VRDPAuthGuestAccessDenied = 1,
- VRDPAuthGuestNoJudgement = 2,
- VRDPAuthGuestAccessGranted = 3,
- VRDPAuthGuestNotReacted = 4,
- VRDPAuthGuestSizeHack = 0x7fffffff
- } VRDPAuthGuestJudgement;
-
- /* UUID memory representation. Array of 16 bytes. */
- typedef unsigned char VRDPAUTHUUID[16];
- typedef VRDPAUTHUUID *PVRDPAUTHUUID;
-
-
- /* The library entry point calling convention. */
- #ifdef _MSC_VER
- # define VRDPAUTHCALL __cdecl
- #elif defined(__GNUC__)
- # define VRDPAUTHCALL
- #else
- # error "Unsupported compiler"
- #endif
-
-
- /**
- * Authentication library entry point. Decides whether to allow
- * a client connection.
- *
- * Parameters:
- *
- * pUuid Pointer to the UUID of the virtual machine
- * which the client connected to.
- * guestJudgement Result of the guest authentication.
- * szUser User name passed in by the client (UTF8).
- * szPassword Password passed in by the client (UTF8).
- * szDomain Domain passed in by the client (UTF8).
- *
- * Return code:
- *
- * VRDPAuthAccessDenied Client access has been denied.
- * VRDPAuthAccessGranted Client has the right to use the
- * virtual machine.
- * VRDPAuthDelegateToGuest Guest operating system must
- * authenticate the client and the
- * library must be called again with
- * the result of the guest
- * authentication.
- */
- typedef VRDPAuthResult VRDPAUTHCALL VRDPAUTHENTRY(PVRDPAUTHUUID pUuid,
- VRDPAuthGuestJudgement guestJudgement,
- const char *szUser,
- const char *szPassword,
- const char *szDomain);
-
-
- typedef VRDPAUTHENTRY *PVRDPAUTHENTRY;
-
- /**
- * Authentication library entry point version 2. Decides whether to allow
- * a client connection.
- *
- * Parameters:
- *
- * pUuid Pointer to the UUID of the virtual machine
- * which the client connected to.
- * guestJudgement Result of the guest authentication.
- * szUser User name passed in by the client (UTF8).
- * szPassword Password passed in by the client (UTF8).
- * szDomain Domain passed in by the client (UTF8).
- * fLogon Boolean flag. Indicates whether the entry point is called
- * for a client logon or the client disconnect.
- * clientId Server side unique identifier of the client.
- *
- * Return code:
- *
- * VRDPAuthAccessDenied Client access has been denied.
- * VRDPAuthAccessGranted Client has the right to use the
- * virtual machine.
- * VRDPAuthDelegateToGuest Guest operating system must
- * authenticate the client and the
- * library must be called again with
- * the result of the guest
- * authentication.
- *
- * Note: When 'fLogon' is 0, only pUuid and clientId are valid and the return
- * code is ignored.
- */
- typedef VRDPAuthResult VRDPAUTHCALL VRDPAUTHENTRY2(PVRDPAUTHUUID pUuid,
- VRDPAuthGuestJudgement guestJudgement,
- const char *szUser,
- const char *szPassword,
- const char *szDomain,
- int fLogon,
- unsigned clientId);
-
-
- typedef VRDPAUTHENTRY2 *PVRDPAUTHENTRY2;
-
- #endif
-